#include <iostream>
#include "lib/libmath.h"

using namespace std;
using namespace math;

int main (int argc, char *argv[]) {
	// ======================================================================
	// Piccoli smanettamenti per test completamente inutili a prodotto finito
	// ======================================================================
	/*
	Complex *c = new Complex();
	Complex *c2 = new Complex();

	float r, i;
	
	cout << "Inserisci la parte reale del valore complesso: ";
	cin >> r;
	c -> setReal(r);
	cout << "Inserisci la parte immaginaria del numero complesso: ";
	cin >> i;
	c -> setImmaginary(i);
	cout << "Il numero immaginario inserito e': " << c -> toString() << endl;

	cout << "Inserisci la parte reale del valore complesso: ";
	cin >> r;
	c2 -> setReal(r);
	cout << "Inserisci la parte immaginaria del numero complesso: ";
	cin >> i;
	c2 -> setImmaginary(i);
	cout << "Il numero immaginario inserito e': " << c2 -> toString() << endl;

	Complex *sum = new Complex();
	*sum = *c + *c2;
	cout << "La somma dei 2 numeri complessi e': " << sum -> toString() << endl;

	Complex *difference = new Complex();
	*difference = *c - *c2;
	cout << "La differenza dei 2 numeri complessi e': " << difference -> toString() << endl;
	char q; cin >> q;
	*/
	// =========================================================================

	/*int a[3][3] = {
		{1, 2, 3},
		{4, 5, 6},
		{7, 8, 9}
	};*/
	//int a[] = new int(3);

	//cout << a << endl << *(a+2) << endl << &a << endl;
	
	//int **b = a;
	//cout << b << endl << *b << endl << &b;*/

	/*int **b = a;
	cout << b << endl << *b << endl << **b << endl << &b;*/

	//prova = (int*)malloc(3*3*sizeof(int));
	//prova = {1, 2, 3, 4, 5, 6, 7, 8, 9};
	//prova 

	/*Matrix *m1 = new Matrix(prova);
	cout << m1 -> getRows();*/
	try {
		cout << "123";
		Matrix *m1 = new Matrix(0, 5);
		
		cout << m1 -> getRows() << " " << m1 -> getColumns() << endl;
		cout << m1 -> toString();
	}
	catch (char* exc) {
		cout << "Errore: " << exc << endl;
		return 0;
	}
	

	char c; cin >> c;

	return 0;

}
